import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;


public class Carro {

	private int id;
	private double velMax;
	private double velAtual;
	private Piloto piloto = new Piloto();


	DecimalFormat df = new DecimalFormat("0.##");



	Carro(int identidade, Piloto p){
		id = identidade;
		velMax = 200;
		piloto.equals(p);
	}

	public void print(){
		System.out.println(getId());
		System.out.println(getVelAtual());
		System.out.println(getVelMax());
		System.out.println(piloto.getExp() );
		System.out.println(piloto.getHab());
	}


	public void pilotoAtualiza(Piloto p){
		this.piloto.equals(p);
	}

	public void ligar(){
		double velocidade = (20 / piloto.getIdade()) * (piloto.getExp()/10) * (piloto.getHab()/10) * velMax;
		velocidade += this.getVelAtual();
		if (velocidade >= 0){  
			velocidade = Double.parseDouble(df.format(velocidade).replace(",", "."));
			this.setVelAtual(velocidade);
			if(this.getVelAtual() > this.velMax){
				this.setVelAtual(this.velMax);
			}
		}
	}	

	public void desligar(){
		velAtual = 0;
	}

	public void acelerar(int i){
		double velocidade = this.getVelAtual();
		if(i%2 == 0){
			velocidade -= 10;
			this.setVelAtual(velocidade); 
			if(this.getVelAtual() < 0){
				this.setVelAtual(0);
			}

		}
		if(i%2 != 0){
			velocidade += 10;
			this.setVelAtual(velocidade); 
			if(this.getVelAtual() > this.velMax){
				this.setVelAtual(200);
			}
		}
	}

	public void frear(int i){
		double velocidade = this.getVelAtual();
		if(i % 2 != 0){
			velocidade -= 10;
			this.setVelAtual(velocidade); 
			if(this.getVelAtual() < 0){
				this.setVelAtual(0);
			}
		}
	}

	public String getNomePiloto(){
		return piloto.getNome();
	}

	public double getVelAtual() {
		return velAtual;
	}

	public void setVelAtual(double velAtual) {
		this.velAtual = velAtual;
	}

	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public double getVelMax() {
		return velMax;
	}


	public void setVelMax(float velMax) {
		this.velMax = velMax;
	}









}
